Repository navigation
bridge: report what the chip's IrqMask kept out - #26
Merged
Merged
Conversation
The radio stats record grows from 37 bytes to 47. Bytes 37-42 take the emulator's tail so the two writers keep one shape: the DIO1 mask, then a console rate of zero, since a native console is a socket rather than a UART. Bytes 43-46 carry irqSuppressed(), the number of events the firmware's IrqMask kept out of the chip's status register. MeshBench reads the record by length, so a host that predates the field keeps working with either size. irqSuppressed() comes from MeshBench/virtual-sx1262#2; this does not build against the chip at the current pin (2861950).
This was referenced Oct 13, 2026
NomDeTom
marked this pull request as ready for review
October 13, 2026 02:51
Collaborator
|
bumping virtual radio after release |
v1.3.3 adds, on top of f2604d1: HeaderValid waits for the preamble, the SFD and the header block (MeshBench#3), and a LoRa header raises HeaderValid alone (MeshBench#5), so a firmware whose mask correctly leaves SyncWordValid out no longer counts every header as suppressed. No ABI change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This moves
vendor/virtual-sx1262from2861950tof2604d1, the merge of MeshBench/virtual-sx1262#2, which is whereVirtualSX1262::irqSuppressed()arrives.f2604d1has the same tree as8fb9623, the head of that PR, so the builds under Verification below cover this pin.What this changes
The radio stats record (
kRadioStats) grows from 37 bytes to 47:dio1Mask())irqSuppressed(): IRQ events the firmware'sIrqMaskkept out of the status registerBytes 37-42 follow the layout MeshBench already reads from emulated nodes, so the two writers send one shape. MeshBench reads the record by length; a host that predates bytes 37-46 ignores them. MeshBench/meshbench#745 reads bytes 43-46.
Verification
vendor/virtual-sx1262at2861950:build.sh simple_repeaterfails with'class VirtualSX1262' has no member named 'irqSuppressed'.vendor/virtual-sx1262at8fb9623(the head of Enforce the IRQ mask, time CAD scans, and decode the rest of the command set virtual-sx1262#2):build.sh simple_repeaterbuilds against MeshCorecompanion-v1.17.0. The samebridge/main.cppchange, on a local branch pinned at8fb9623, builtsimple_repeaterandcompanion_radioagainst bothcompanion-v1.16.0andcompanion-v1.17.0.fife-stricttrimmed to three nodes, andscotland-strict), sent 47-byte records. MeshBench read the count: 1.16 nodes (IrqMask0x0272) reported 24 and 1.17 nodes (0x0276) 12 on the three-node link.Pin moved to v1.3.3
vendor/virtual-sx1262now points atf0261f3, tagged v1.3.3, rather thanf2604d1. That adds MeshBench/virtual-sx1262#3 (HeaderValid waits for the preamble, the SFD and the header block) and MeshBench/virtual-sx1262#5 (a LoRa header raises HeaderValid alone). No ABI change.simple_repeaterandcompanion_radiobuild againstcompanion-v1.16.0andcompanion-v1.17.0at this pin.#5 changes the figures under Verification: SyncWordValid is no longer counted against masks that leave it out, so the three-node link is expected to read 12 for 1.16 (PreambleDetected only) and 0 for 1.17, not 24 and 12. That is the per-frame count from virtual-sx1262's tests and has not been rerun end to end.